#ifndef CONFIGDEFINE_H
#define CONFIGDEFINE_H

// file name
#define CONFIG_FILENAME "config.ini"

enum ConfigType
{
    CT_SYSTEM = 0,
    CT_USER,

};

enum ConfigKey
{
    CK_Uart_AutoOpen = 0,
    CK_Uart_Name,
    CK_Uart_BaudRate,
    CK_Uart_DataBits,
    CK_Uart_StopBits,
    CK_Uart_Parity,

    CK_DebugUart_AutoOpen,
    CK_DebugUart_Name,
    CK_DebugUart_BaudRate,
    CK_DebugUart_DataBits,
    CK_DebugUart_StopBits,
    CK_DebugUart_Parity,

    CK_PumpAUart_AutoOpen,
    CK_PumpAUart_Name,
    CK_PumpAUart_BaudRate,
    CK_PumpAUart_DataBits,
    CK_PumpAUart_StopBits,
    CK_PumpAUart_Parity,

    CK_PumpBUart_AutoOpen,
    CK_PumpBUart_Name,
    CK_PumpBUart_BaudRate,
    CK_PumpBUart_DataBits,
    CK_PumpBUart_StopBits,
    CK_PumpBUart_Parity,

    CK_PumpCUart_AutoOpen,
    CK_PumpCUart_Name,
    CK_PumpCUart_BaudRate,
    CK_PumpCUart_DataBits,
    CK_PumpCUart_StopBits,
    CK_PumpCUart_Parity,

    CK_PumpDUart_AutoOpen,
    CK_PumpDUart_Name,
    CK_PumpDUart_BaudRate,
    CK_PumpDUart_DataBits,
    CK_PumpDUart_StopBits,
    CK_PumpDUart_Parity,

    CK_DetectorUart_AutoOpen,
    CK_DetectorUart_Name,
    CK_DetectorUart_BaudRate,
    CK_DetectorUart_DataBits,
    CK_DetectorUart_StopBits,
    CK_DetectorUart_Parity,

    CK_CollectorUart_AutoOpen,
    CK_CollectorUart_Name,
    CK_CollectorUart_BaudRate,
    CK_CollectorUart_DataBits,
    CK_CollectorUart_StopBits,
    CK_CollectorUart_Parity,

    CK_AutoSamplerUart_AutoOpen,
    CK_AutoSamplerUart_Name,
    CK_AutoSamplerUart_BaudRate,
    CK_AutoSamplerUart_DataBits,
    CK_AutoSamplerUart_StopBits,
    CK_AutoSamplerUart_Parity,

    CK_SimpleFocUart_AutoOpen,
    CK_SimpleFocUart_Name,
    CK_SimpleFocUart_BaudRate,
    CK_SimpleFocUart_DataBits,
    CK_SimpleFocUart_StopBits,
    CK_SimpleFocUart_Parity,

    CK_ElectronicScaleLiChenUart_AutoOpen,
    CK_ElectronicScaleLiChenUart_Name,
    CK_ElectronicScaleLiChenUart_BaudRate,
    CK_ElectronicScaleLiChenUart_DataBits,
    CK_ElectronicScaleLiChenUart_StopBits,
    CK_ElectronicScaleLiChenUart_Parity,

    CK_ElectronicScaleShimadzuUart_AutoOpen,
    CK_ElectronicScaleShimadzuUart_Name,
    CK_ElectronicScaleShimadzuUart_BaudRate,
    CK_ElectronicScaleShimadzuUart_DataBits,
    CK_ElectronicScaleShimadzuUart_StopBits,
    CK_ElectronicScaleShimadzuUart_Parity,
};

inline bool operator < (ConfigKey &v1, ConfigKey &v2)
{
    return (static_cast<int>(v1) < static_cast<int>(v2));
};

//// key
//#define

#endif // CONFIGDEFINE_H
